package com.cola;

/**
 * @Grup:com.hxh
 * @Auther:cola
 * @Data:2021/3/9-2021-03-17:02
 * @version:1.0
 *
 * String表示一个字符串,内部使用字符数组实现,不能被继承(最终类)
 */
public class StringDemo {
    public static void main(String[] args) {
        //String 的俩种赋值方式,推荐使用第一种方式
        //1.直接赋值
        String s1="cola";
        //2.使用new 关键字创建对象
        String s2=new String("cola");
        //面试提 问以下代码创建了几个对象?2个
        String s3="cola";
        System.out.println(s1==s2);
        System.out.println(s1==s3);
        /*
        * 代码示例:4种情况分析
        * */
        //如果编译期值可以被确定,那么就使用已有的对象,否则会创建新的对像
        String a="a";
        String a1=a+1;
        String a2="a1";
        System.out.println(a1==a2);

        final String b="b";
        String b1=b+"1";
        String b2="b1";
        System.out.println(b1==b2);

//方法是在运行期才能实现
        String c=getc();
        String c1=c+1;
        String c2="c1";
        System.out.println(c1==c2);

        final String d=getd();
        String d1=d+1;
        String d2="d1";
        System.out.println(d1==d2);


    }
    private static String getc(){
        return "c";
    }
    private static String getd(){
        return "d";
    }


}
